package com.link2room.optimus.dto.result.base;

import com.link2room.common.annotation.L2RDatetimeString;
import com.link2room.common.dto.result.base.BaseDto;
import com.link2room.common.util.DateUtil;

import java.util.Date;
import java.util.List;

/**
 * Created by sss on 2016/9/1.
 */
public class MarketingDto extends BaseDto {
    /**
     * 活动代码
     */
    private String mcCode;
    /**
     * 活动名称
     */
    private String mcName;
    private String mcNameEn;
    /**
     * 活动描述
     */
    private String descript;
    private String descriptEn;
    /**
     * 移动版活动描述
     */
    private String descriptM;
    private String descriptMEn;
    /**
     * 基价代码
     */
    private String priceCode;
    /**
     * 活动开始时间
     */
    private Date startDate;
    /**
     * 活动结束时间
     */
    private Date endDate;
    /**
     * 可预订开始时间
     */
    private Date rsvStartDate;
    /**
     * 可预订结束时间
     */
    private Date rsvEndDate;
    /**
     * 活动开始时间
     */
    @L2RDatetimeString(source = "startDate")
    private String startDatetime;
    /**
     * 活动结束时间
     */
    @L2RDatetimeString(source = "endDate")
    private String endDatetime;
    /**
     * 可预订开始时间
     */
    @L2RDatetimeString(source = "rsvStartDate")
    private String rsvStartDatetime;
    /**
     * 可预订结束时间
     */
    @L2RDatetimeString(source = "rsvEndDate")
    private String rsvEndDatetime;
    /**
     * 由集团OR酒店创建
     */
    private String createBy;
    /**
     * 是否长期活动：T/F
     */
    private String isLong;
    /**
     * 是否允许酒店操作：T/F
     */
    private String isAllow;
    /**
     * 是否使用完全房量：T/F
     */
    private String useRealAvail;
    /**
     * 活动标签
     */
    private String mcTag;
    /**
     * 统计标签
     */
    private String countTag;
    /**
     * 是否已审核：T/F
     */
    private String isAudit;
    /**
     * 是否下单到PMS
     */
    private String isToPms;
    /**
     * 是否启用设置量
     */
    private String useSetNum;

    /**
     * 活动星期列表
     */
    private List<MarketingWeekDto> marketingWeeks;

    /**
     * 不可预订日期区间列表
     */
    private List<MarketingNorsvDto> marketingNorsvs;

    public String getMcCode() {
        return mcCode;
    }

    public void setMcCode(String mcCode) {
        this.mcCode = mcCode;
    }

    public String getMcName() {
        return mcName;
    }

    public void setMcName(String mcName) {
        this.mcName = mcName;
    }

    public String getDescript() {
        return descript;
    }

    public void setDescript(String descript) {
        this.descript = descript;
    }

    public String getDescriptM() {
        return descriptM;
    }

    public void setDescriptM(String descriptM) {
        this.descriptM = descriptM;
    }

    public Date getStartDate() {
        return startDate;
    }

    public void setStartDate(Date startDate) {
        this.startDate = startDate;
    }

    public Date getEndDate() {
        return endDate;
    }

    public void setEndDate(Date endDate) {
        this.endDate = endDate;
    }

    public Date getRsvStartDate() {
        return rsvStartDate;
    }

    public void setRsvStartDate(Date rsvStartDate) {
        this.rsvStartDate = rsvStartDate;
    }

    public Date getRsvEndDate() {
        return rsvEndDate;
    }

    public void setRsvEndDate(Date rsvEndDate) {
        this.rsvEndDate = rsvEndDate;
    }

    public String getCreateBy() {
        return createBy;
    }

    public void setCreateBy(String createBy) {
        this.createBy = createBy;
    }

    public String getIsLong() {
        return isLong;
    }

    public void setIsLong(String isLong) {
        this.isLong = isLong;
    }

    public String getIsAllow() {
        return isAllow;
    }

    public void setIsAllow(String isAllow) {
        this.isAllow = isAllow;
    }

    public String getMcTag() {
        return mcTag;
    }

    public void setMcTag(String mcTag) {
        this.mcTag = mcTag;
    }

    public String getCountTag() {
        return countTag;
    }

    public void setCountTag(String countTag) {
        this.countTag = countTag;
    }

    public String getIsAudit() {
        return isAudit;
    }

    public void setIsAudit(String isAudit) {
        this.isAudit = isAudit;
    }

    public List<MarketingWeekDto> getMarketingWeeks() {
        return marketingWeeks;
    }

    public void setMarketingWeeks(List<MarketingWeekDto> marketingWeeks) {
        this.marketingWeeks = marketingWeeks;
    }

    public String getStartDatetime() {
        return startDatetime;
    }

    public void setStartDatetime(String startDatetime) {
        this.startDatetime = startDatetime;
        setStartDate(DateUtil.parseDateNewFormat(startDatetime));
    }

    public String getEndDatetime() {
        return endDatetime;
    }

    public void setEndDatetime(String endDatetime) {
        this.endDatetime = endDatetime;
        setEndDate(DateUtil.parseDateNewFormat(endDatetime));
    }

    public String getRsvStartDatetime() {
        return rsvStartDatetime;
    }

    public void setRsvStartDatetime(String rsvStartDatetime) {
        this.rsvStartDatetime = rsvStartDatetime;
        setRsvStartDate(DateUtil.parseDateNewFormat(rsvStartDatetime));
    }

    public String getRsvEndDatetime() {
        return rsvEndDatetime;
    }

    public void setRsvEndDatetime(String rsvEndDatetime) {
        this.rsvEndDatetime = rsvEndDatetime;
        setRsvEndDate(DateUtil.parseDateNewFormat(rsvEndDatetime));
    }

    public List<MarketingNorsvDto> getMarketingNorsvs() {
        return marketingNorsvs;
    }

    public void setMarketingNorsvs(List<MarketingNorsvDto> marketingNorsvs) {
        this.marketingNorsvs = marketingNorsvs;
    }

    public String getPriceCode() {
        return priceCode;
    }

    public void setPriceCode(String priceCode) {
        this.priceCode = priceCode;
    }

    public String getUseRealAvail() {
        return useRealAvail;
    }

    public void setUseRealAvail(String useRealAvail) {
        this.useRealAvail = useRealAvail;
    }

    public String getUseSetNum() {
        return useSetNum;
    }

    public void setUseSetNum(String useSetNum) {
        this.useSetNum = useSetNum;
    }

    public String getIsToPms() {
        return isToPms;
    }

    public void setIsToPms(String isToPms) {
        this.isToPms = isToPms;
    }

    public String getMcNameEn() {
        return mcNameEn;
    }

    public void setMcNameEn(String mcNameEn) {
        this.mcNameEn = mcNameEn;
    }

    public String getDescriptEn() {
        return descriptEn;
    }

    public void setDescriptEn(String descriptEn) {
        this.descriptEn = descriptEn;
    }

    public String getDescriptMEn() {
        return descriptMEn;
    }

    public void setDescriptMEn(String descriptMEn) {
        this.descriptMEn = descriptMEn;
    }
}
